ROS入门学习之四机器人仿真 您所在的位置:网站首页 rose 机器人仿真 ROS入门学习之四机器人仿真

ROS入门学习之四机器人仿真

2023-09-04 12:06| 来源: 网络整理| 查看: 265

ROS入门学习之四机器人仿真 佘亮 分类:ROS入门教程 发布时间 2022.02.25阅读数 4085 评论数 0

ROS入门学习之四机器人仿真

1.机器人模型优化

URDF模型的进化版本---xacro模型文件

精简模型代码

创建宏定义

...

宏调用

文件包含

提供可编程接口

常量:定义

使用

变量

数学计算

注意:所有数学运算都会转换成浮点数进行,以保证运算精度

条件语句

模型表示:

方法一 将xacro文件转换成URDF文件后显示

rosrun xacro xacro.py mbot.xacro > mbot.urdf

方法二 直接调用xacro文件解析器

roslaunch mbot_description display_mbot_base_xacro.launch

2.ArbotiX+rviz功能仿真

ArbotiX是什么:

1.一款控制电机、舵机的硬件控制板 2.提供了相应的ROS功能包 3.提供了一个差速控制器,通过接受速度控制指令,更新机器人的里程计状态

安装ArbotiX

Indigo sudo apt-get install ros-indigo-arbotix-* Kinect git clone https://github.com/vanadiumlabs/arbotix_ros.git catkin_make

注意:arbotix_ros中的python文件需要添加可执行权限

配置Arbotix控制器

第一步:创建launch文件

第二步:创建配置文件

第三步:启动仿真器

roslaunch mbot_description arbotix_mbot_with_camera_xacro.launch

第四步:启动键盘控制

roslaunch mbot_teleop mbot_teleop.launch

odom是一个全局坐标系,通过里程计记录机器人当前的运动位姿

导航仿真示例

roslaunch rbx1_bringup fake_turtlebot.launch roslaunch rbx1_nav fake_amcl.launch map:=test_map.yaml rosrun rviz rviz -d `rospack find rbx1_nav` /amcl.rviz

3.gazebo物理仿真---ros_control

ros_control是什么

1.ROS为开发者提供的机器人控制中间件 2.包含一系列控制器接口、传动装置接口、硬件接口、控制器工具箱等等 3.可以帮助机器人应用功能包快速落地、提高开发效率 控制器管理器:提供一种通用的接口来管理不同的控制器 控制器:读取硬件状态,发布控制命令,完成每个joint的控制 硬件资源:为上下两层提供硬件资源的接口 机器人硬件抽象:机器人硬件抽象和硬件资源直接打交道,通过write和read方法完成硬件操作 真实机器人:执行接收到的命令

控制器(Controllers):

joint_effort_controller、joint_state_controller、joint_position_controller、joint_velocity_controller

仿真步骤:

1.配置机器人物理仿真模型

第一步:为link添加惯性参数和碰撞属性

第二步:为link添加gazebo标签

第三步:为joint添加传动装置

第四步:添加gazebo控制器插件

:机器人的命名空间 和:左右轮转动的关节joint 和:机器人模型的相关尺寸,在计算差速参数时需要用到 :控制器订阅的速度控制指令,生成全局命名时需要结合中设置的命名空间 :里程计数据的参考坐标系,ROS中一般都命名为odom

2.创建仿真环境

在gazebo中加载机器人模型

view_mbot_gazebo_empty_world.launch roslaunch mbot_gazebo view_mbot_gazebo_empty_world.launch

建议:为保证模型顺利加载,请提前将模型文件库下载并放置到~/.gazebo/model下

第一种方法:直接添加环境模型 第二种方法 使用Building Editor

3.开始仿真

启动仿真环境

roslaunch mbot_gazebo view_mbot_gazebo_play_ground.launch rostopic list

启动键盘控制

roslaunch mbot_teleop mbot_teleop.launch

传感器仿真

摄像头仿真

标签:描述传感器

type:传感器类型 camera ;name:摄像头命名,自由设置

标签:描述摄像头参数

分辨率,编码格式,图像范围,噪音参数等

标签:加载摄像头仿真插件

libgazebo_ros_camera.so

设置插件的命名空间、发布图像的话题、参考坐标系等

启动仿真环境

roslaunch mbot_gazebo view_mbot_with_camera_gazebo.launch

查看摄像头仿真图像

rqt_image_view

RGB-D摄像头仿真(kinect)

启动仿真环境

roslaunch mbot_gazebo view_mbot_with_kinect_gazebo.launch

在rviz中查看kinect信息

激光雷达仿真

启动仿真环境

roslaunch mbot_gazebo view_mbot_with_laser_gazebo.launch

在rviz中查看激光雷达信息

机器人ROSSLAM建模仿真ROS入门教程

打赏 0

点赞 0

收藏 0

分享

微信 微博 QQ 图片 上一篇:ROS入门学习之三 机器人系统设计 下一篇:ROS入门学习五机器人感知


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有